* Step 1: Bounds WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: U101(mark(X1),X2,X3) -> mark(U101(X1,X2,X3)) U101(ok(X1),ok(X2),ok(X3)) -> ok(U101(X1,X2,X3)) U102(mark(X1),X2) -> mark(U102(X1,X2)) U102(ok(X1),ok(X2)) -> ok(U102(X1,X2)) U103(mark(X)) -> mark(U103(X)) U103(ok(X)) -> ok(U103(X)) U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3)) U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3)) U111(mark(X1),X2) -> mark(U111(X1,X2)) U111(ok(X1),ok(X2)) -> ok(U111(X1,X2)) U112(mark(X)) -> mark(U112(X)) U112(ok(X)) -> ok(U112(X)) U121(mark(X1),X2) -> mark(U121(X1,X2)) U121(ok(X1),ok(X2)) -> ok(U121(X1,X2)) U122(mark(X)) -> mark(U122(X)) U122(ok(X)) -> ok(U122(X)) U131(mark(X1),X2,X3) -> mark(U131(X1,X2,X3)) U131(ok(X1),ok(X2),ok(X3)) -> ok(U131(X1,X2,X3)) U132(mark(X1),X2) -> mark(U132(X1,X2)) U132(ok(X1),ok(X2)) -> ok(U132(X1,X2)) U133(mark(X)) -> mark(U133(X)) U133(ok(X)) -> ok(U133(X)) U141(mark(X1),X2,X3) -> mark(U141(X1,X2,X3)) U141(ok(X1),ok(X2),ok(X3)) -> ok(U141(X1,X2,X3)) U142(mark(X1),X2) -> mark(U142(X1,X2)) U142(ok(X1),ok(X2)) -> ok(U142(X1,X2)) U143(mark(X)) -> mark(U143(X)) U143(ok(X)) -> ok(U143(X)) U151(mark(X1),X2,X3) -> mark(U151(X1,X2,X3)) U151(ok(X1),ok(X2),ok(X3)) -> ok(U151(X1,X2,X3)) U152(mark(X1),X2) -> mark(U152(X1,X2)) U152(ok(X1),ok(X2)) -> ok(U152(X1,X2)) U153(mark(X)) -> mark(U153(X)) U153(ok(X)) -> ok(U153(X)) U161(mark(X1),X2) -> mark(U161(X1,X2)) U161(ok(X1),ok(X2)) -> ok(U161(X1,X2)) U171(mark(X1),X2,X3) -> mark(U171(X1,X2,X3)) U171(ok(X1),ok(X2),ok(X3)) -> ok(U171(X1,X2,X3)) U181(mark(X1),X2) -> mark(U181(X1,X2)) U181(ok(X1),ok(X2)) -> ok(U181(X1,X2)) U191(mark(X1),X2) -> mark(U191(X1,X2)) U191(ok(X1),ok(X2)) -> ok(U191(X1,X2)) U201(mark(X1),X2,X3,X4) -> mark(U201(X1,X2,X3,X4)) U201(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U201(X1,X2,X3,X4)) U202(mark(X1),X2) -> mark(U202(X1,X2)) U202(ok(X1),ok(X2)) -> ok(U202(X1,X2)) U21(mark(X1),X2) -> mark(U21(X1,X2)) U21(ok(X1),ok(X2)) -> ok(U21(X1,X2)) U211(mark(X1),X2) -> mark(U211(X1,X2)) U211(ok(X1),ok(X2)) -> ok(U211(X1,X2)) U221(mark(X1),X2,X3) -> mark(U221(X1,X2,X3)) U221(ok(X1),ok(X2),ok(X3)) -> ok(U221(X1,X2,X3)) U31(mark(X1),X2) -> mark(U31(X1,X2)) U31(ok(X1),ok(X2)) -> ok(U31(X1,X2)) U41(mark(X1),X2,X3) -> mark(U41(X1,X2,X3)) U41(ok(X1),ok(X2),ok(X3)) -> ok(U41(X1,X2,X3)) U42(mark(X1),X2) -> mark(U42(X1,X2)) U42(ok(X1),ok(X2)) -> ok(U42(X1,X2)) U43(mark(X)) -> mark(U43(X)) U43(ok(X)) -> ok(U43(X)) U51(mark(X1),X2,X3) -> mark(U51(X1,X2,X3)) U51(ok(X1),ok(X2),ok(X3)) -> ok(U51(X1,X2,X3)) U52(mark(X1),X2) -> mark(U52(X1,X2)) U52(ok(X1),ok(X2)) -> ok(U52(X1,X2)) U53(mark(X)) -> mark(U53(X)) U53(ok(X)) -> ok(U53(X)) U61(mark(X1),X2) -> mark(U61(X1,X2)) U61(ok(X1),ok(X2)) -> ok(U61(X1,X2)) U62(mark(X)) -> mark(U62(X)) U62(ok(X)) -> ok(U62(X)) U71(mark(X1),X2) -> mark(U71(X1,X2)) U71(ok(X1),ok(X2)) -> ok(U71(X1,X2)) U72(mark(X)) -> mark(U72(X)) U72(ok(X)) -> ok(U72(X)) U81(mark(X1),X2) -> mark(U81(X1,X2)) U81(ok(X1),ok(X2)) -> ok(U81(X1,X2)) U82(mark(X)) -> mark(U82(X)) U82(ok(X)) -> ok(U82(X)) U91(mark(X1),X2) -> mark(U91(X1,X2)) U91(ok(X1),ok(X2)) -> ok(U91(X1,X2)) U92(mark(X)) -> mark(U92(X)) U92(ok(X)) -> ok(U92(X)) afterNth(X1,mark(X2)) -> mark(afterNth(X1,X2)) afterNth(mark(X1),X2) -> mark(afterNth(X1,X2)) afterNth(ok(X1),ok(X2)) -> ok(afterNth(X1,X2)) and(mark(X1),X2) -> mark(and(X1,X2)) and(ok(X1),ok(X2)) -> ok(and(X1,X2)) cons(mark(X1),X2) -> mark(cons(X1,X2)) cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) fst(mark(X)) -> mark(fst(X)) fst(ok(X)) -> ok(fst(X)) head(mark(X)) -> mark(head(X)) head(ok(X)) -> ok(head(X)) isLNat(ok(X)) -> ok(isLNat(X)) isLNatKind(ok(X)) -> ok(isLNatKind(X)) isNatural(ok(X)) -> ok(isNatural(X)) isNaturalKind(ok(X)) -> ok(isNaturalKind(X)) isPLNat(ok(X)) -> ok(isPLNat(X)) isPLNatKind(ok(X)) -> ok(isPLNatKind(X)) natsFrom(mark(X)) -> mark(natsFrom(X)) natsFrom(ok(X)) -> ok(natsFrom(X)) pair(X1,mark(X2)) -> mark(pair(X1,X2)) pair(mark(X1),X2) -> mark(pair(X1,X2)) pair(ok(X1),ok(X2)) -> ok(pair(X1,X2)) proper(0()) -> ok(0()) proper(nil()) -> ok(nil()) proper(tt()) -> ok(tt()) s(mark(X)) -> mark(s(X)) s(ok(X)) -> ok(s(X)) sel(X1,mark(X2)) -> mark(sel(X1,X2)) sel(mark(X1),X2) -> mark(sel(X1,X2)) sel(ok(X1),ok(X2)) -> ok(sel(X1,X2)) snd(mark(X)) -> mark(snd(X)) snd(ok(X)) -> ok(snd(X)) splitAt(X1,mark(X2)) -> mark(splitAt(X1,X2)) splitAt(mark(X1),X2) -> mark(splitAt(X1,X2)) splitAt(ok(X1),ok(X2)) -> ok(splitAt(X1,X2)) tail(mark(X)) -> mark(tail(X)) tail(ok(X)) -> ok(tail(X)) take(X1,mark(X2)) -> mark(take(X1,X2)) take(mark(X1),X2) -> mark(take(X1,X2)) take(ok(X1),ok(X2)) -> ok(take(X1,X2)) top(mark(X)) -> top(proper(X)) top(ok(X)) -> top(active(X)) - Signature: {U101/3,U102/2,U103/1,U11/3,U111/2,U112/1,U121/2,U122/1,U131/3,U132/2,U133/1,U141/3,U142/2,U143/1,U151/3 ,U152/2,U153/1,U161/2,U171/3,U181/2,U191/2,U201/4,U202/2,U21/2,U211/2,U221/3,U31/2,U41/3,U42/2,U43/1,U51/3 ,U52/2,U53/1,U61/2,U62/1,U71/2,U72/1,U81/2,U82/1,U91/2,U92/1,afterNth/2,and/2,cons/2,fst/1,head/1,isLNat/1 ,isLNatKind/1,isNatural/1,isNaturalKind/1,isPLNat/1,isPLNatKind/1,natsFrom/1,pair/2,proper/1,s/1,sel/2,snd/1 ,splitAt/2,tail/1,take/2,top/1} / {0/0,active/1,mark/1,nil/0,ok/1,tt/0} - Obligation: innermost runtime complexity wrt. defined symbols {U101,U102,U103,U11,U111,U112,U121,U122,U131,U132,U133 ,U141,U142,U143,U151,U152,U153,U161,U171,U181,U191,U201,U202,U21,U211,U221,U31,U41,U42,U43,U51,U52,U53,U61 ,U62,U71,U72,U81,U82,U91,U92,afterNth,and,cons,fst,head,isLNat,isLNatKind,isNatural,isNaturalKind,isPLNat ,isPLNatKind,natsFrom,pair,proper,s,sel,snd,splitAt,tail,take,top} and constructors {0,active,mark,nil,ok ,tt} + Applied Processor: Bounds {initialAutomaton = minimal, enrichment = match} + Details: The problem is match-bounded by 2. The enriched problem is compatible with follwoing automaton. 0_0() -> 2 0_1() -> 3 U101_0(2,2,2) -> 1 U101_1(2,2,2) -> 3 U102_0(2,2) -> 1 U102_1(2,2) -> 3 U103_0(2) -> 1 U103_1(2) -> 3 U11_0(2,2,2) -> 1 U11_1(2,2,2) -> 3 U111_0(2,2) -> 1 U111_1(2,2) -> 3 U112_0(2) -> 1 U112_1(2) -> 3 U121_0(2,2) -> 1 U121_1(2,2) -> 3 U122_0(2) -> 1 U122_1(2) -> 3 U131_0(2,2,2) -> 1 U131_1(2,2,2) -> 3 U132_0(2,2) -> 1 U132_1(2,2) -> 3 U133_0(2) -> 1 U133_1(2) -> 3 U141_0(2,2,2) -> 1 U141_1(2,2,2) -> 3 U142_0(2,2) -> 1 U142_1(2,2) -> 3 U143_0(2) -> 1 U143_1(2) -> 3 U151_0(2,2,2) -> 1 U151_1(2,2,2) -> 3 U152_0(2,2) -> 1 U152_1(2,2) -> 3 U153_0(2) -> 1 U153_1(2) -> 3 U161_0(2,2) -> 1 U161_1(2,2) -> 3 U171_0(2,2,2) -> 1 U171_1(2,2,2) -> 3 U181_0(2,2) -> 1 U181_1(2,2) -> 3 U191_0(2,2) -> 1 U191_1(2,2) -> 3 U201_0(2,2,2,2) -> 1 U201_1(2,2,2,2) -> 3 U202_0(2,2) -> 1 U202_1(2,2) -> 3 U21_0(2,2) -> 1 U21_1(2,2) -> 3 U211_0(2,2) -> 1 U211_1(2,2) -> 3 U221_0(2,2,2) -> 1 U221_1(2,2,2) -> 3 U31_0(2,2) -> 1 U31_1(2,2) -> 3 U41_0(2,2,2) -> 1 U41_1(2,2,2) -> 3 U42_0(2,2) -> 1 U42_1(2,2) -> 3 U43_0(2) -> 1 U43_1(2) -> 3 U51_0(2,2,2) -> 1 U51_1(2,2,2) -> 3 U52_0(2,2) -> 1 U52_1(2,2) -> 3 U53_0(2) -> 1 U53_1(2) -> 3 U61_0(2,2) -> 1 U61_1(2,2) -> 3 U62_0(2) -> 1 U62_1(2) -> 3 U71_0(2,2) -> 1 U71_1(2,2) -> 3 U72_0(2) -> 1 U72_1(2) -> 3 U81_0(2,2) -> 1 U81_1(2,2) -> 3 U82_0(2) -> 1 U82_1(2) -> 3 U91_0(2,2) -> 1 U91_1(2,2) -> 3 U92_0(2) -> 1 U92_1(2) -> 3 active_0(2) -> 2 active_1(2) -> 4 active_2(3) -> 5 afterNth_0(2,2) -> 1 afterNth_1(2,2) -> 3 and_0(2,2) -> 1 and_1(2,2) -> 3 cons_0(2,2) -> 1 cons_1(2,2) -> 3 fst_0(2) -> 1 fst_1(2) -> 3 head_0(2) -> 1 head_1(2) -> 3 isLNat_0(2) -> 1 isLNat_1(2) -> 3 isLNatKind_0(2) -> 1 isLNatKind_1(2) -> 3 isNatural_0(2) -> 1 isNatural_1(2) -> 3 isNaturalKind_0(2) -> 1 isNaturalKind_1(2) -> 3 isPLNat_0(2) -> 1 isPLNat_1(2) -> 3 isPLNatKind_0(2) -> 1 isPLNatKind_1(2) -> 3 mark_0(2) -> 2 mark_1(3) -> 1 mark_1(3) -> 3 natsFrom_0(2) -> 1 natsFrom_1(2) -> 3 nil_0() -> 2 nil_1() -> 3 ok_0(2) -> 2 ok_1(3) -> 1 ok_1(3) -> 3 ok_1(3) -> 4 pair_0(2,2) -> 1 pair_1(2,2) -> 3 proper_0(2) -> 1 proper_1(2) -> 4 s_0(2) -> 1 s_1(2) -> 3 sel_0(2,2) -> 1 sel_1(2,2) -> 3 snd_0(2) -> 1 snd_1(2) -> 3 splitAt_0(2,2) -> 1 splitAt_1(2,2) -> 3 tail_0(2) -> 1 tail_1(2) -> 3 take_0(2,2) -> 1 take_1(2,2) -> 3 top_0(2) -> 1 top_1(4) -> 1 top_2(5) -> 1 tt_0() -> 2 tt_1() -> 3 * Step 2: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: U101(mark(X1),X2,X3) -> mark(U101(X1,X2,X3)) U101(ok(X1),ok(X2),ok(X3)) -> ok(U101(X1,X2,X3)) U102(mark(X1),X2) -> mark(U102(X1,X2)) U102(ok(X1),ok(X2)) -> ok(U102(X1,X2)) U103(mark(X)) -> mark(U103(X)) U103(ok(X)) -> ok(U103(X)) U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3)) U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3)) U111(mark(X1),X2) -> mark(U111(X1,X2)) U111(ok(X1),ok(X2)) -> ok(U111(X1,X2)) U112(mark(X)) -> mark(U112(X)) U112(ok(X)) -> ok(U112(X)) U121(mark(X1),X2) -> mark(U121(X1,X2)) U121(ok(X1),ok(X2)) -> ok(U121(X1,X2)) U122(mark(X)) -> mark(U122(X)) U122(ok(X)) -> ok(U122(X)) U131(mark(X1),X2,X3) -> mark(U131(X1,X2,X3)) U131(ok(X1),ok(X2),ok(X3)) -> ok(U131(X1,X2,X3)) U132(mark(X1),X2) -> mark(U132(X1,X2)) U132(ok(X1),ok(X2)) -> ok(U132(X1,X2)) U133(mark(X)) -> mark(U133(X)) U133(ok(X)) -> ok(U133(X)) U141(mark(X1),X2,X3) -> mark(U141(X1,X2,X3)) U141(ok(X1),ok(X2),ok(X3)) -> ok(U141(X1,X2,X3)) U142(mark(X1),X2) -> mark(U142(X1,X2)) U142(ok(X1),ok(X2)) -> ok(U142(X1,X2)) U143(mark(X)) -> mark(U143(X)) U143(ok(X)) -> ok(U143(X)) U151(mark(X1),X2,X3) -> mark(U151(X1,X2,X3)) U151(ok(X1),ok(X2),ok(X3)) -> ok(U151(X1,X2,X3)) U152(mark(X1),X2) -> mark(U152(X1,X2)) U152(ok(X1),ok(X2)) -> ok(U152(X1,X2)) U153(mark(X)) -> mark(U153(X)) U153(ok(X)) -> ok(U153(X)) U161(mark(X1),X2) -> mark(U161(X1,X2)) U161(ok(X1),ok(X2)) -> ok(U161(X1,X2)) U171(mark(X1),X2,X3) -> mark(U171(X1,X2,X3)) U171(ok(X1),ok(X2),ok(X3)) -> ok(U171(X1,X2,X3)) U181(mark(X1),X2) -> mark(U181(X1,X2)) U181(ok(X1),ok(X2)) -> ok(U181(X1,X2)) U191(mark(X1),X2) -> mark(U191(X1,X2)) U191(ok(X1),ok(X2)) -> ok(U191(X1,X2)) U201(mark(X1),X2,X3,X4) -> mark(U201(X1,X2,X3,X4)) U201(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U201(X1,X2,X3,X4)) U202(mark(X1),X2) -> mark(U202(X1,X2)) U202(ok(X1),ok(X2)) -> ok(U202(X1,X2)) U21(mark(X1),X2) -> mark(U21(X1,X2)) U21(ok(X1),ok(X2)) -> ok(U21(X1,X2)) U211(mark(X1),X2) -> mark(U211(X1,X2)) U211(ok(X1),ok(X2)) -> ok(U211(X1,X2)) U221(mark(X1),X2,X3) -> mark(U221(X1,X2,X3)) U221(ok(X1),ok(X2),ok(X3)) -> ok(U221(X1,X2,X3)) U31(mark(X1),X2) -> mark(U31(X1,X2)) U31(ok(X1),ok(X2)) -> ok(U31(X1,X2)) U41(mark(X1),X2,X3) -> mark(U41(X1,X2,X3)) U41(ok(X1),ok(X2),ok(X3)) -> ok(U41(X1,X2,X3)) U42(mark(X1),X2) -> mark(U42(X1,X2)) U42(ok(X1),ok(X2)) -> ok(U42(X1,X2)) U43(mark(X)) -> mark(U43(X)) U43(ok(X)) -> ok(U43(X)) U51(mark(X1),X2,X3) -> mark(U51(X1,X2,X3)) U51(ok(X1),ok(X2),ok(X3)) -> ok(U51(X1,X2,X3)) U52(mark(X1),X2) -> mark(U52(X1,X2)) U52(ok(X1),ok(X2)) -> ok(U52(X1,X2)) U53(mark(X)) -> mark(U53(X)) U53(ok(X)) -> ok(U53(X)) U61(mark(X1),X2) -> mark(U61(X1,X2)) U61(ok(X1),ok(X2)) -> ok(U61(X1,X2)) U62(mark(X)) -> mark(U62(X)) U62(ok(X)) -> ok(U62(X)) U71(mark(X1),X2) -> mark(U71(X1,X2)) U71(ok(X1),ok(X2)) -> ok(U71(X1,X2)) U72(mark(X)) -> mark(U72(X)) U72(ok(X)) -> ok(U72(X)) U81(mark(X1),X2) -> mark(U81(X1,X2)) U81(ok(X1),ok(X2)) -> ok(U81(X1,X2)) U82(mark(X)) -> mark(U82(X)) U82(ok(X)) -> ok(U82(X)) U91(mark(X1),X2) -> mark(U91(X1,X2)) U91(ok(X1),ok(X2)) -> ok(U91(X1,X2)) U92(mark(X)) -> mark(U92(X)) U92(ok(X)) -> ok(U92(X)) afterNth(X1,mark(X2)) -> mark(afterNth(X1,X2)) afterNth(mark(X1),X2) -> mark(afterNth(X1,X2)) afterNth(ok(X1),ok(X2)) -> ok(afterNth(X1,X2)) and(mark(X1),X2) -> mark(and(X1,X2)) and(ok(X1),ok(X2)) -> ok(and(X1,X2)) cons(mark(X1),X2) -> mark(cons(X1,X2)) cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) fst(mark(X)) -> mark(fst(X)) fst(ok(X)) -> ok(fst(X)) head(mark(X)) -> mark(head(X)) head(ok(X)) -> ok(head(X)) isLNat(ok(X)) -> ok(isLNat(X)) isLNatKind(ok(X)) -> ok(isLNatKind(X)) isNatural(ok(X)) -> ok(isNatural(X)) isNaturalKind(ok(X)) -> ok(isNaturalKind(X)) isPLNat(ok(X)) -> ok(isPLNat(X)) isPLNatKind(ok(X)) -> ok(isPLNatKind(X)) natsFrom(mark(X)) -> mark(natsFrom(X)) natsFrom(ok(X)) -> ok(natsFrom(X)) pair(X1,mark(X2)) -> mark(pair(X1,X2)) pair(mark(X1),X2) -> mark(pair(X1,X2)) pair(ok(X1),ok(X2)) -> ok(pair(X1,X2)) proper(0()) -> ok(0()) proper(nil()) -> ok(nil()) proper(tt()) -> ok(tt()) s(mark(X)) -> mark(s(X)) s(ok(X)) -> ok(s(X)) sel(X1,mark(X2)) -> mark(sel(X1,X2)) sel(mark(X1),X2) -> mark(sel(X1,X2)) sel(ok(X1),ok(X2)) -> ok(sel(X1,X2)) snd(mark(X)) -> mark(snd(X)) snd(ok(X)) -> ok(snd(X)) splitAt(X1,mark(X2)) -> mark(splitAt(X1,X2)) splitAt(mark(X1),X2) -> mark(splitAt(X1,X2)) splitAt(ok(X1),ok(X2)) -> ok(splitAt(X1,X2)) tail(mark(X)) -> mark(tail(X)) tail(ok(X)) -> ok(tail(X)) take(X1,mark(X2)) -> mark(take(X1,X2)) take(mark(X1),X2) -> mark(take(X1,X2)) take(ok(X1),ok(X2)) -> ok(take(X1,X2)) top(mark(X)) -> top(proper(X)) top(ok(X)) -> top(active(X)) - Signature: {U101/3,U102/2,U103/1,U11/3,U111/2,U112/1,U121/2,U122/1,U131/3,U132/2,U133/1,U141/3,U142/2,U143/1,U151/3 ,U152/2,U153/1,U161/2,U171/3,U181/2,U191/2,U201/4,U202/2,U21/2,U211/2,U221/3,U31/2,U41/3,U42/2,U43/1,U51/3 ,U52/2,U53/1,U61/2,U62/1,U71/2,U72/1,U81/2,U82/1,U91/2,U92/1,afterNth/2,and/2,cons/2,fst/1,head/1,isLNat/1 ,isLNatKind/1,isNatural/1,isNaturalKind/1,isPLNat/1,isPLNatKind/1,natsFrom/1,pair/2,proper/1,s/1,sel/2,snd/1 ,splitAt/2,tail/1,take/2,top/1} / {0/0,active/1,mark/1,nil/0,ok/1,tt/0} - Obligation: innermost runtime complexity wrt. defined symbols {U101,U102,U103,U11,U111,U112,U121,U122,U131,U132,U133 ,U141,U142,U143,U151,U152,U153,U161,U171,U181,U191,U201,U202,U21,U211,U221,U31,U41,U42,U43,U51,U52,U53,U61 ,U62,U71,U72,U81,U82,U91,U92,afterNth,and,cons,fst,head,isLNat,isLNatKind,isNatural,isNaturalKind,isPLNat ,isPLNatKind,natsFrom,pair,proper,s,sel,snd,splitAt,tail,take,top} and constructors {0,active,mark,nil,ok ,tt} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^1))